package com.demo.controller.media;

import com.demo.controller.BaseController;
import com.demo.model.Media;
import com.jfinal.aop.Before;
import com.jfinal.kit.Ret;
import com.jfinal.plugin.activerecord.Page;

/**
 * @Auther: 10091
 * @Date: 2018-07-13 19:28
 * @Description: 媒体号的管理
 */
public class MediaAdminController extends BaseController {

    MediaAdminService srv = MediaAdminService.me;

    /**
     * 媒体管理主页
     */
    public void index(){
        Page<Media> medias = srv.paginate(getParaToInt("p",1));
        setAttr("medias",medias);
        render("index.html");
    }

    /**
     * 创建
     */
    public void add() {
       // setAttr("projectList", ProjectService.me.getAllProject("id, name"));    // 关联项目下拉列表
        render("add_edit.html");
    }

    /**
     * 提交创建
     */
    @Before(MediaValidator.class)
    public void save() {
        Media media = getBean(Media.class);
        Ret ret = srv.save(media);
        renderJson(ret);
    }

    /**
     * 修改
     */
    public void edit() {
        keepPara("p");	// 保持住分页的页号，便于在 ajax 提交后跳转到当前数据所在的页
        setAttr("media", srv.edit(getParaToInt("id")));
        render("add_edit.html");
    }

    /**
     * 提交修改
     */
    @Before(MediaValidator.class)
    public void update() {
        Media media = getBean(Media.class);
        Ret ret = srv.update(media);
        renderJson(ret);
    }

    /**
     * 锁定，目前先做成使用举报量 report 值锁定
     */
    public void lock() {
        Ret ret = srv.lock(getParaToInt("id"));
        renderJson(ret);
    }

    /**
     * 解除锁定
     */
    public void unlock() {
        Ret ret = srv.unlock(getParaToInt("id"));
        renderJson(ret);
    }

    /**
     * 删除 feedback
     */
    public void delete() {
        Ret ret = srv.delete(getParaToInt("id"));
        renderJson(ret);
    }
}
